/**
 * author Think
 * 参数解释：
 * title    标题
 * url        请求的url
 * id        需要操作的数据id
 * w        弹出层宽度（缺省调默认值）
 * h        弹出层高度（缺省调默认值）
 */
$(function () {
    // Tab页切换
    $("#tab-system").Huitab({
        index: 0
    });

    var $table = $("#table");
    var _table = $table.dataTable($.extend(true, {}, CONSTANT.DATA_TABLES.DEFAULT_OPTION, {
        ajax: function (data, callback, settings) {
            //封装请求参数
            var param = userManage.getQueryCondition(data);
            $.ajax({
                type: "POST",
                url: "/order/getOrderListByPage.do",
                cache: false,  //禁用缓存
                data: param,    //传入已封装的参数
                dataType: "json",
                success: function (result) {

                    //异常判断与处理
                    if (result.errorCode) {
                        alert("查询失败");
                        return;
                    }

                    //封装返回数据
                    var returnData = {};
                    returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
                    returnData.recordsTotal = result.total;//总记录数
                    returnData.recordsFiltered = result.total;//后台不实现过滤功能，每次查询均视作全部结果
                    returnData.data = result.pageData;
                    // 赋值合计金额
                    result.tranamt != null ? $("#tranamt").html('合计金额：' + result.tranamt + '元') : $("#tranamt").html('合计金额：' + '0.00' + '元');

                    //调用DataTables提供的callback方法，代表数据已封装完成并传回DataTables进行渲染
                    //此时的数据需确保正确无误，异常判断应在执行此回调前自行处理完毕
                    callback(returnData);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("查询失败");
                }
            });
        },
        //绑定数据
        columns: [
            {
                // 学工号
                data: "sno",
                orderable: true,
            },
            {
                //就餐单号
                data: "orderno",
                orderable: true,
            },
            {
                //支付方式
                data: "payType",
                orderable: true,
            },
            {
                //就餐者
                data: "name",
                orderable: true,
            },
            {
                // 餐次名称
                data: "mealType",
                orderable: true,
            },
            {
                // 食堂名称
                data: "attach",
                orderable: true,
            },
            {
                // 商户号
                data: "mercacc",
                orderable: true,
            },
            {
                // 商户名称
                data: "mercname",
                orderable: true,
            },
            {
                // 支付时间
                data: "payTime",
                orderable: true,
            },
            {
                // 金额
                data: "tranamt",
                orderable: true,
                render: function (data, type, row, meta) {
                    return data + '元';
                }
            },
            {
                // 状态
                data: "state",
                orderable: true,
            }
        ]
    })).api();//此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象

    //查询
    $("#btn_select").click(function () {
        _table.draw();
    });
});
var userManage = {
    getQueryCondition: function (data) {
        var param = {};
        //组装排序参数
        if (data.order && data.order.length && data.order[0]) {
            switch (data.order[0].column) {
                case 0:
                    param.orderColumn = "sno";//
                    break;
                case 1:
                    param.orderColumn = "orderno";//
                    break;
                case 2:
                    param.orderColumn = "pay_type";//
                    break;
                case 3:
                    param.orderColumn = "name";//
                    break;
                case 4:
                    param.orderColumn = "meal_type";//
                    break;
                case 5:
                    param.orderColumn = "canteen_name";//
                    break;
                case 6:
                    param.orderColumn = "mercacc";//
                    break;
                case 7:
                    param.orderColumn = "mercname";//
                    break;
                case 8:
                    param.orderColumn = "pay_time";//
                    break;
                case 9:
                    param.orderColumn = "tranamt";//
                    break;
                case 10:
                    param.orderColumn = "state";//
                    break;
                default:
                    param.orderColumn = "payTime";//
                    break;
            }
            //排序方式asc或者desc
            param.orderDir = data.order[0].dir;
        }
        param.startTime = $("#startTime").val();
        param.endTime = $("#endTime").val();
        // 查询条件 订单号
        param.orderno = $("#orderno").val();
        // 查询条件 学工号
        param.sno = $("#sno").val();
        // 状态
        param.state = $("#state").val();
        //组装分页参数
        param.startIndex = data.start;
        param.pageSize = data.length;
        param.draw = data.draw;
        return param;
    }
};

$("#btnExportOrders").click(function () {
    layer.msg("正在导出，请稍等", {icon: 0, time: 5000});
    //组装排序参数
    var startTime = $("#startTime").val();
    var endTime = $("#endTime").val();
    // 查询条件 订单号
    var orderno = $("#orderno").val();
    // 查询条件 学工号
    var sno = $("#sno").val();
    // 状态
    var state = $("#state").val();
    var url = "/order/exportOrders?startTime=" + startTime + "&endTime=" + endTime + "&orderno=" + orderno + "&sno=" + sno + "&state=" + state;
    window.location.href = url;
})
